// pages/index/article/article.js
Page({
  data:{
    textArr:[],//文章列表
    pageNum:1,
    pageSize:10,
    url:'',
    losthost:'',
    totalPageCount:0,
    isLoading: false// 节流阀，false表示没有加载数据；true表示正在加载数据
  },
  onLoad(options) {
    const app = getApp();
    this.setData({
        url: app.globalData.URL,
        losthost:app.globalData.losthost
    })
    console.log(this.data.url)
    console.log(this.data.losthost)
    this.gettextlist(); // 调用加载音频列表的方法
  },
  // 加载更多数据
  gettextlist() {
    this.setData({
        isLoading:true
      })
       // 加入一个正在加载中的效果
    wx.showLoading({
        title: '正在加载中...',
        icon: 'loading'
    });
    
    wx.request({
        url: this.data.url + "article",
        method: 'GET',
        data: {
            pageNum: this.data.pageNum,
            pageSize: this.data.pageSize
        },
        success: (res) => {
                this.setData({
                    textArr: this.data.textArr.concat(res.data.data.list),
                    totalPageCount:res.data.data.pages
                });
                console.log("textArr", this.data.textArr);
                console.log("pageNum",res.data.data.pages)
        },
        fail: (err) => {
            wx.showToast({
                title: '加载文章列表失败',
                icon: 'none'
            });
            console.log('Failed to fetch article list from server:', err);
        },
        complete: () => {
           // 关闭正在加载中提示
        wx.hideLoading();
        // 关闭下拉刷新
        wx.stopPullDownRefresh();
        this.setData({
          isLoading:false
        })
        }
    });
},


  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {
    this.setData({
        pageNum: 1,
        textArr: [], // 正确重置 textArr
        totalPageCount:0
    });
    this.gettextlist();
},
/**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {
    // 判断如果数据正在加载中，则拦截
    if(this.data.isLoading || this.data.pageNum >= this.data.totalPageCount){
        wx.showToast({
            title: '没有更多数据了...',
            icon: 'none'
          });
        return;
    }
    // 上提，就是让pageNo+1即可
    this.setData({
      pageNo:this.data.pageNum+1
    })
    // 再次查询
    this.gettextlist();
},
// 跳转到详情页
toMoreDetil(event) {
    const index = event.currentTarget.dataset.index;
    const id = this.data.textArr[index].id; 
    wx.navigateTo({
      url: '../article/articledetail/articledetail?id='+id, // 跳转到详情页面
    });
    // 在这里实现跳转逻辑
  }
})